package com.suiwei.advanced.designPattern;
/**
 * @author suiwei
 * @date 2023/5/1 18:24
 */
//作用：解决接口与接口实现类之间的矛盾;实现类可能只需要接口中的某一个方法,但是必须要实现所有方法才能用
//实现步骤：
//    编写一个XXXAdapte,实现对应接口
//    重新内部所有抽象方法,但方法都是空实现
//    让自己的类去继承适配器类,重写自己需要的方法
//    为了避免其他类创建适配器类的对象（方法都是空实现，调用没有意义）,使用abstract修饰
public class Adapter {
   public static void main(String[] args){
       Suiwei suiwei = new Suiwei();
       suiwei.eat();
   }

}
class Suiwei extends PersonAdapter{
    @Override
    public void eat(){
    System.out.println("喜欢吃饭");
    }
}
abstract class PersonAdapter implements Person{

  @Override
  public void eat() {}

  @Override
  public void sleep() {}
}

interface Person {

    void  eat();
    void  sleep();
}
